1. Field of the Invention
The present invention relates to a drive control apparatus for moving a body to a target position at a predetermined speed, and, more particularly, but not by way of limitation to an improved drive control apparatus for use in a disk drive.
Recently, with magnetic disk drives and magneto-optical disk drives becoming more and more compact, the size of a circuit board of a drive control apparatus for moving a head to a predetermined position has been reduced. Consequently, an allowable surface area on which components of a control circuit are mounted has become reduced.
Accordingly, it is required to perform control with higher precision by reducing the capacity of a memory that is built in a microcontroller (MCU).
2. Prior Art
Conventionally, a drive control apparatus is used, for example, to control the driving of a head in a magnetic disk drive.
FIG. 1 is a plan view of an example of a conventional magnetic disk drive. In a magnetic disk drive 11 shown in FIG. 1, an actuator 12 has an arm 13. A support spring mechanism 13a at the end of the arm 13 has a magnetic head 14 mounted at its end.
The base of the arm 13 is rotatably supported by a pivot 15.
A rotatably supporting part 16 is formed at the other end of the arm 13, the pivot 15 being disposed between the arm 13 and the rotatably supporting part 16. A coil 17 is wound around the rotatably supporting part 16. Two magnets 18a and 18b are fixed below the coil 17. The coil 17, and the magnets 18a and 18b constitute a voice coil motor (VCM).
The actuator 12 is constituted such that the arm 13 is rotated so as to move the magnetic head 14 in a radial direction with respect to a magnetic disk 20 fixed on a spindle 19 of a spindle motor (not shown) of a sensorless type and rotated thereby. The rotation of the arm 13 is effected by energizing the coil 17 via a flexible printed board 22 on a circuit board 21. The magnetic head 14 is made to float due to an air flow caused by the rotation of the magnetic disk 20.
A control base board (not shown) is fitted to the magnetic disk drive 11. The control base board mainly comprises a central processing unit (CPU), a microcontroller (MCU), a read/write control unit, a head position control unit and a spindle motor control unit.
The magnetic disk 20 is formed such that magnetic medium is made to spread on the surface of a glass or aluminum disk. Alternatively, sputtering may be employed. Information relating to positioning of the magnetic head (hereinafter, referred to as position information) is recorded on concentrical cylinders (or tracks). A head position control unit controls the VCM so as to move the magnetic head to a target cylinder on the basis of this information.
FIG. 2 shows how a moving speed of the magnetic head 14 in FIG. 1 is controlled. A target speed of the magnetic head 14 is determined on the basis of a current position or a time that elapsed since the start of a seek operation. Feedback control is initiated so that the moving speed of the magnetic head matches the target speed.
Specifically, position information recorded on the magnetic disk 20 is read, whereupon a target speed generator 23 generates a target speed corresponding to a remaining distance, the remaining distance being calculated on the basis of a target position to which the magnetic head 14 is to be moved. Further, past position information is retained so that a current speed is determined by a speed generator 24 which compares the past position information with the current position information. A difference between the determined current speed and the target speed is calculated, whereupon a compensator 25 feeds a control current to the VCM by using proportional integral (PI) control on a speed error so that an error in speed is minimized.
For the sake of simplification, it is assumed that the current fed to the VCM is proportional to an acceleration of the magnetic head 14, and the relation X.varies..intg..intg. Idt holds, wherein I indicates a current fed to the VCM, and X indicates a distance that the magnetic head 14 moves. On the basis of this relation, the relationship between the position, the speed and the current can be derived.
Approaches for controlling the speed include the Bang Bang control method, a control method wherein acceleration and deceleration curves are rectangular in shape, a method whereby a deceleration curve is triangular in shape, and a method wherein an acceleration curve is determined so as to minimize a differential value of an acceleration.
In a control method in which the acceleration curve has an interval (target speed generation interval) where the Pth (P is a fixed value) power of the position is proportional to the speed, that is, where the relationship V.varies.X.sup.P holds, P=1/2 if the acceleration is regular with respect to time, and P=2/3 if the acceleration is linearly proportional to time.
Thus, the optimal speed corresponding to the current position read is obtained in accordance with the relationship V.varies.X.sup.P. since it takes a long time for the MCU to calculate the speed, the relationship between the position and the speed is stored in a reference table in a read-only memory (ROM), and the speed is determined by referring to the table each time when the position is determined.
FIG. 3 shows a reference table used in the speed control illustrated in FIG. 2. As shown in FIG. 3, the Y=X.sup.P curve shows a relationship between a set of reference values X indicating the distance to the target position and corresponding generated values indicating the speed, a predetermined number of reference values X being arranged at equal intervals. The Y=X.sup.P relationship is assumed as a simplified form of the actual proportional relationship. Obviously, the more precisely the target speed is determined, the better. Hence, the number of data items in a table may correspond to, for example, the number of cylinders on a disk. For example, in case there are 1200 cylinders, if it is assumed that the distance corresponding to an average access time is 1/3 of the entire distance that the head can travel, and the distance required for acceleration and deceleration is 1/2 that of the entire distance that the head travels, the total number of required data items is EQU 1200.times.(1/3).times.(1/2)=200
For example, two bytes is needed for a data item in order that the target speed is determined with precision. In that case, the ROM needs a size of 400 bytes.
In an actual operation, the generated values for two reference values corresponding to the position of the magnetic head 14 are obtained from the reference table of FIG. 3, whereupon the target speed is determined by linear interpolation.
However, the capacity required for the ROM to include the table may occupy several percent of the total storage capacity of the MCU (which has a small capacity; for example, 16-64 kilobytes). The number of data items contained in a table decreases if the table is to be accommodated in a small memory area. Conversely, if the number of data items is to be increased, a larger memory area is required, thus making it difficult to make the disk drive compact.